int add(int x, int y)
{
	while (x != 0) {
		int carry, total;
		
		carry = x & y;
		total = x ^ y;
		
		carry <<= 1;
		
		x = carry;
		y = total;
	}
	
	return y;
}
